package de.cachaca.lildancefreak.valerie;

import de.cachaca.lildancefreak.Maths;

public class MathsImpl implements Maths {

	
	
	
	public static int fakultaet(int n) {
		int resultFacultaet = 1;
		
		if (n < 0)
			throw new IllegalArgumentException("must not be < 0: " + n);
		if (n == 0)
			resultFacultaet = 1;
		
		for (int i = 1; i <= n; i++) {
			
			resultFacultaet = resultFacultaet * i;
			
		}

		return resultFacultaet;
	}
	
	public static int nSumme(int n) {
		int resultSumme = 0;
		if(n<0){
			for (int i = -1; i >= n; i--) {
				resultSumme = resultSumme -i;
			}
		}
		if(n > 0){
		for (int i = 1; i <= n; i++) {
			resultSumme = resultSumme + i;
		}
		}
		return resultSumme;
	}
	
	public static int[][] allgMuliplikationsMatrix(int [] a, int [] b){
		
		int [][] ergebnis = new int[a.length][b.length];
		
		for (int ergZeile = 0; ergZeile < a.length; ergZeile++) {
			
			for (int ergSpalte = 0; ergSpalte < b.length; ergSpalte++) {
					ergebnis [ergZeile][ergSpalte] = a[ergZeile]*b[ergSpalte];
				}
		}
		return ergebnis;
		
	}
	
	public static int [][] kleinesEinMalEinsNullBisZehn(){
		
		int [][] ergebnis = new int[11][11];
		
		for (int ergZeile = 0; ergZeile < ergebnis.length; ergZeile++) {
			for (int ergSpalte = 0; ergSpalte < ergebnis.length; ergSpalte++) {
				ergebnis[ergZeile][ergSpalte] = ergZeile * ergSpalte;
			}
		}
		
		
		return ergebnis;
		
	}
	
	public static int [][] kleinesEinMalEinsEinsBisZehn(){
			
			int [][] ergebnis = new int[10][10];
			int ergZeile = 0;
			int ergSpalte = 0;
			
			for (int i = 1; i <= ergebnis.length; i++) {
				ergSpalte = 0;
				for (int j = 1; j <= ergebnis.length; j++) {
					ergebnis[ergZeile][ergSpalte] = i * j;
					ergSpalte++;
				}
			ergZeile++;
			}
			
			
			return ergebnis;
			
		}
	
	public static void main(String[] args) {
		new MathsImpl();
		MathsImpl.kleinesEinMalEinsEinsBisZehn();
		
	}

}
